Two trends that are currently shaping the IT landscape in a significant way are cloud computing and in-memory management. As is well known in the art, cloud computing can be viewed simply as storing and accessing data and programs over the Internet (or conceivably some other network) instead of a user's local hard drive. Stated another way, cloud computing can be viewed as simply delivering hosted services over the Internet.
Almost every application that was formerly deployed locally is now available via the cloud. With increasing data volumes, more data velocity, and greater number of users, it is almost a given that cloud computing applications use some form of in-memory computing. The in-memory data grid (IMDG) is a known data structure that resides entirely in RAM (random access memory), and may or may not be distributed among multiple servers. A RAM programmed with an IMDG, either over a single or multiple servers, may be referred to as an IMDG server or IMDG system, or similar language.
The design of an IMDG lends itself to storing and retrieving data for multiple applications. A side effect of extensive cloud computing is that a situation in which applications are competing for the same data may result in a deadlock situation in the IMDG and can adversely affect performance on one or more of the applications.